<template>
  <view class="content">
	  <message ref="Message"></message>
	<view class="statusBar" :style="{ height: statusBarHeight + 'PX'}"></view>
	<view class="return" >
		<image src="../../static/images/back3.png" mode="" @click="back"></image>
	</view>
    <view class="header">
      <image src="../../static/logo.png"></image>
    </view>

    <view class="list">
      <view class="list-call">
        <image class="img" src="/static/shilu-login/1.png"></image>
        <input class="sl-input" v-model="phone" type="number" maxlength="11" placeholder="输入手机号" />
      </view>
      <view class="list-call">
        <image class="img" src="/static/shilu-login/2.png"></image>
        <input class="sl-input" v-model="password" type="text" maxlength="32" placeholder="输入密码" password="true" />
      </view>

    </view>
    <view class="button-login" hover-class="button-hover" @tap="bindLogin()" >
      <text>登录</text>
    </view>

    <view class="agreenment">
      <navigator url="forget" open-type="navigate">忘记密码</navigator>
      <text>|</text>
      <navigator url="reg" open-type="navigate">注册账户</navigator>
    </view>
  </view>
</template>

<script>
  import { isPhone } from '@/commons/utiles.js'
  import { ip2int } from '@/commons/long2ip.js'
  export default {
    data() {
      return {
        phone: '',
        password: '',
		statusBarHeight: this.$systemInfo.statusBarHeight,
		login_btn_status: true
      };
    },
	onShow() {
		
		const userInfo = getApp().globalData.userInfo
		if (userInfo.user_name && userInfo.user_pwd) {
			this.phone = userInfo.user_name,
			this.password = userInfo.user_pwd
		}
	},
	mounted() {
		
	},
    methods: {
		
		back() {
			uni.navigateBack()
		},
		async bindLogin() {
			if (!isPhone(this.phone)) {
				this.$refs['Message'].warn('请输入正确的手机号')
				return
			}
			const { data: ipRes } = await this.$http({
				url: 'https://app.bilibili.com/x/resource/ip'
			})
			const ipInt = ip2int(ipRes.data.addr)
			
			const { data: res } = await this.$http({
				url: this.$api.login,
				method: 'POST',
				data: {
					user_name: this.phone,
					user_pwd: this.password,
					ip: ipInt
				}
			})
			if (res.status !== 200) {
				this.$refs['Message'].warn('账号或者密码错误')
				return 
			}
			if (!res.data.user_status) {
				this.$refs['Message'].info('请联系管理员激活该账号')
				return 
			}
			this.$refs['Message'].success('登录成功')
			getApp().globalData.loginStatus = true
			getApp().globalData.userInfo = res.data
			const self = this
			uni.setStorage({
				key: 'userInfo',
				data: {
					user_name: self.phone,
					user_pwd: self.password
				},
				success() {
					console.log('保存密码成功')
				}
			})
			uni.setStorage({
				key: 'autoSeting',
				data: {
					autoLogin: true
				},
				success() {
					console.log('自动登录设置成功')
				}
			})
			await this.$promise(500)
			uni.switchTab({
				url: '/pages/me/me'
			})
		},
    }
  }
</script>

<style scoped lang="scss">
  .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .header {
    width: 161rpx;
    height: 161rpx;
    background: rgba(63, 205, 235, 1);
    box-shadow: 0rpx 12rpx 13rpx 0rpx #90F7EC;
    border-radius: 50%;
    margin-top: 30rpx;
    margin-left: auto;
    margin-right: auto;
  }

  .header image {
    width: 161rpx;
    height: 161rpx;
    border-radius: 50%;
  }

  .list {
    display: flex;
    flex-direction: column;
    padding-top: 50rpx;
    padding-left: 70rpx;
    padding-right: 70rpx;
  }

  .list-call {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 100rpx;
    color: #333333;
    border-bottom: 0.5px solid #e2e2e2;
  }

  .list-call .img {
    width: 40rpx;
    height: 40rpx;
  }

  .list-call .sl-input {
    flex: 1;
    text-align: left;
    font-size: 32rpx;
    margin-left: 16rpx;
  }

  .button-login {
    color: #FFFFFF;
    font-size: 34rpx;
    width: 470rpx;
    height: 100rpx;
  /*  background: linear-gradient(-90deg, rgba(63, 205, 235, 1), rgba(188, 226, 158, 1)); */
	background-image: linear-gradient( 135deg, #90F7EC 10%, #32CCBC 100%);
    box-shadow: 0rpx 0rpx 13rpx 0rpx rgba(164, 217, 228, 0.2);
    border-radius: 50rpx;
    line-height: 100rpx;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 100rpx;
  }

  .button-hover {
    /* background: linear-gradient(-90deg, rgba(63, 205, 235, 0.8), rgba(188, 226, 158, 0.8)); */
	background-image: linear-gradient( 135deg, rgba(144, 247, 236, .8) 10%,  rgba(50, 204, 188, 0.5) 100%);
  }

  .agreenment {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: 30rpx;
    margin-top: 80rpx;
    color: #FFA800;
    text-align: center;
    height: 40rpx;
    line-height: 40rpx;
  }

  .agreenment text {
    font-size: 24rpx;
    margin-left: 15rpx;
    margin-right: 15rpx;
  }
  
  .return {
	  width: 100%;
	  height: 200rpx;
	  image{
		  width: 64rpx;
		  height: 64rpx;
		  margin-left: 20rpx;
	  }
  }
</style>
